High definition haptic effects generation using primitives

ABSTRACT

A haptically enabled system receives a haptic effect primitive comprising a plurality of input parameters and receives an input from a sensor. The system generates a haptic effect signal from the haptic effect primitive, the haptic effect signal comprising a plurality of output parameters where at least one of the output parameters is varied based on the sensor input. The system then applies the haptic effect signal to an actuator.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/767,129, filed on Feb. 14, 2013, (the disclosure of which is herebyincorporated by reference), where U.S. patent application Ser. No.13/767,129 claims priority of U.S. Provisional Patent Application Ser.No. 61/599,173, filed on Feb. 15, 2012 (the disclosure of which ishereby incorporated by reference).

FIELD

One embodiment is directed to haptic effects, and in particular togenerating high definition haptic effects using primitives.

BACKGROUND INFORMATION

Electronic device manufacturers strive to produce a rich interface forusers. Conventional devices use visual and auditory cues to providefeedback to a user. In some interface devices, kinesthetic feedback(such as active and resistive force feedback) and/or tactile feedback(such as vibration, texture, and heat) is also provided to the user,more generally known collectively as “haptic feedback” or “hapticeffects”. Haptic feedback can provide cues that enhance and simplify theuser interface. Specifically, vibration effects, or vibrotactile hapticeffects, may be useful in providing cues to users of electronic devicesto alert the user to specific events, or provide realistic feedback tocreate greater sensory immersion within a simulated or virtualenvironment.

In order to generate vibration effects, many devices utilize some typeof actuator or haptic output device. Known actuators used for thispurpose include an electromagnetic actuator such as an EccentricRotating Mass (“ERM”) in which an eccentric mass is moved by a motor, aLinear Resonant Actuator (“LRA”) in which a mass attached to a spring isdriven back and forth, or a “smart material” such as piezoelectric,electroactive polymers or shape memory alloys. Haptic output devices mayalso be non-mechanical or non-vibratory devices such as devices that useelectrostatic friction (“ESF”), ultrasonic surface friction (“USF”),devices that induce acoustic radiation pressure with an ultrasonichaptic transducer, devices that use a haptic substrate and a flexible ordeformable surface, devices that provide projected haptic output such asa puff of air using an air jet, etc.

SUMMARY

One embodiment is a haptically enabled system that receives a hapticeffect primitive comprising a plurality of input parameters and receivesan input from a sensor. The system generates a haptic effect signal fromthe haptic effect primitive, the haptic effect signal comprising aplurality of output parameters where at least one of the outputparameters is varied based on the sensor input. The system then appliesthe haptic effect signal to an actuator.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a haptically-enabled system in accordancewith one embodiment of the present invention.

FIG. 2 is a perspective view of system that includes selectablegraphical images of musical instruments to be simulated in accordancewith one embodiment.

FIG. 3 is a graph of Frequency v. Acceleration that illustrates a linearmapping in accordance with one embodiment.

FIG. 4 is a flow diagram of the functionality of a high definition(“HD”) haptic effect generation module of FIG. 1 when generating HDhaptic effect signals from HD haptic effect primitives in accordancewith one embodiment.

FIG. 5 is a block diagram representation of a Physically InspiredStochastic Event Modeling algorithm.

FIG. 6 is a flow diagram of the functionality of the HD haptic effectgeneration module of FIG. 1 when generating HD haptic effect signalsfrom HD haptic effect primitives in accordance with one embodiment.

DETAILED DESCRIPTION

One embodiment is a haptic effect generation system that generatesvibratory-type haptic effects for use with high-definition (“HD”)actuators. The haptic effects are expressed in the form of haptic“primitives” in which parameters such as period, duration and amplitudeare used to define a haptic effect, and the parameters are theninterpreted by an engine and converted into motor voltage signals thatinclude output parameters and that are applied to the HD actuators.

ERM and LRA type actuators can be considered “low-definition” actuatorsin that they have a limited frequency range when generating hapticeffects. In contrast, an HD actuator, such as piezo, electroactivepolymer or electro-static based actuators, can output higher frequencycontent with a faster ramp-up time and large dynamic range. Therefore,haptic effects generated by HD actuators can be richer and more lifelikethan those generated by low-definition actuators. Although haptic effectparameters/primitives that were developed for low-definition actuatorscan generally be used with HD actuators, they generally do not takeadvantage of these high-definition properties. Further, HD primitivesmay include more parameters than low definition primitives, which mayonly have a single parameter such as amplitude.

FIG. 1 is a block diagram of a haptically-enabled system 10 inaccordance with one embodiment of the present invention. System 10includes a touch sensitive surface 11 or other type of user interfacemounted within a housing 15, and may include mechanical keys/buttons 13.Internal to system 10 is a haptic feedback system that generatesvibrations on system 10. In one embodiment, the vibrations are generatedon touch surface 11.

The haptic feedback system includes a processor or controller 12.Coupled to processor 12 is a memory 20 and an actuator drive circuit 16,which is coupled to an HD actuator 18 (e.g., piezo, electo-activepolymer, etc.). HD actuator 18 in some embodiments may be a deformableactuator such as a Macro Fiber Composite (“MFC”) actuator. Processor 12may be any type of general purpose processor, or could be a processorspecifically designed to provide haptic effects, such as anapplication-specific integrated circuit (“ASIC”). Processor 12 may bethe same processor that operates the entire system 10, or may be aseparate processor. Processor 12 can decide what haptic effects are tobe played and the order in which the effects are played based on highlevel parameters. In general, the high level parameters that define aparticular haptic effect include magnitude, frequency and duration. Lowlevel parameters such as streaming motor commands could also be used todetermine a particular haptic effect. A haptic effect may be considered“dynamic” if it includes some variation of these parameters when thehaptic effect is generated or a variation of these parameters based on auser's interaction.

Processor 12 outputs the control signals to actuator drive circuit 16,which includes electronic components and circuitry used to supply HDactuator 18 with the required electrical current and voltage (i.e.,“motor signals”) to cause the desired haptic effects. System 10 mayinclude more than one HD actuator 18 (or additional types of actuators),and each HD actuator may include a separate drive circuit 16, allcoupled to a common processor 12. Memory device 20 can be any type ofstorage device or computer-readable medium, such as random access memory(“RAM”) or read-only memory (“ROM”). Memory 20 stores instructionsexecuted by processor 12, such as operating system instructions. Amongthe instructions, memory 20 includes an HD haptic effect generationmodule 22 which are instructions that, when executed by processor 12,generate an HD haptic effect signal (i.e., motor signals that areapplied to HD actuator 18 via drive circuit 16) from an HD haptic effectprimitive, as disclosed in more detail below. Memory 20 may also belocated internal to processor 12, or any combination of internal andexternal memory.

Touch surface 11 recognizes touches, and may also recognize the positionand magnitude of touches on the surface. The data corresponding to thetouches is sent to processor 12, or another processor within system 10,and processor 12 interprets the touches and in response generates hapticeffect signals. Touch surface 11 may sense touches using any sensingtechnology, including capacitive sensing, resistive sensing, surfaceacoustic wave sensing, pressure sensing, optical sensing, etc. Touchsurface 11 may sense multi-touch contacts and may be capable ofdistinguishing multiple touches that occur at the same time. Touchsurface 11 may be a touchscreen that generates and displays images forthe user to interact with, such as keys, dials, etc., or may be atouchpad with minimal or no images.

System 10 may be a handheld device, such a cellular telephone, personaldigital assistant (“PDA”), smartphone, computer tablet, gaming console,etc., or may be any other type of device that provides a user interfaceand includes a haptic effect system that includes one or more actuators.The user interface may be a touch sensitive surface, or can be any othertype of user interface such as a mouse, touchpad, mini-joystick, scrollwheel, trackball, game pads or game controllers, etc. System 10 may alsoinclude one or more sensors. In one embodiment, one of the sensors is anaccelerometer (not shown) that measures the acceleration of system 10.

A dynamic haptic effect refers to a haptic effect that evolves over timeas it responds to one or more input parameters. Dynamic haptic effectsare haptic or vibrotactile effects displayed on haptic devices such assystem 10 to represent a change in state of a given input signal. Theinput signal can be a signal captured by sensors on the device withhaptic feedback, such as position, acceleration, pressure, orientation,or proximity, or signals captured by other devices and sent to thehaptic device to influence the generation of the haptic effect.

A dynamic effect signal can be any type of signal, but does notnecessarily have to be complex. For example, a dynamic effect signal maybe a simple sine wave that has some property such as phase, frequency,or amplitude that is changing over time or reacting in real timeaccording to a mapping schema which maps an input parameter onto achanging property of the effect signal. An input parameter may be anytype of input capable of being provided by a device, and typically maybe any type of signal such as a device sensor signal. A device sensorsignal may be generated by any means, and typically may be generated bycapturing a user gesture with a device. Dynamic effects may be veryuseful for gesture interfaces, but the use of gestures or sensors arenot necessarily required to create a dynamic signal.

One embodiment uses HD haptic effects to generate realistic mechanicalsimulations of musical instruments. FIG. 2 is a perspective view ofsystem 10 that includes selectable graphical images of musicalinstruments to be simulated in accordance with one embodiment. Theinstruments displayed include a maraca 202, an egg shaker 204, a shekere206, a cabasa 208, a cow bell 210, and a wash board 212. A user canselect one of the instruments and interact with the system 10 as ifinteracting with the actual instrument. For example, system 10 can beshaken when maraca 202 is selected and HD haptic effects will begenerated that provide a realistic feel of shaking a maraca by providingappropriate haptic effect signals to HD actuator 18. Therefore, whilethe user is shaking a mobile device such as system 10, the user willfeel haptic effects as if a real maraca is being shaken, due to thegeneration of the HD haptic effects that recreate or provide thesensation that maraca “beads” inside the phone are colliding. Likewise,cow bell 210 can be tapped for a sound and its corresponding hapticeffect, or the entire device can be moved as if one is moving a cowbell. In response HD haptic effects are generated that will cause theuser to feel as if they are moving an actual cow bell, including thesensation of the weight of the bell as the bell knocker moves from sideto side.

Frequency Based HD Haptic Effects Generation

Frequency Variation

One embodiment generates haptic effect signals from HD haptic primitivesusing frequency variation and frequency modulation (“FM”). In oneembodiment, the frequency of the generated HD haptic effect signal isvaried based on a corresponding input sensor signal, such as anacceleration signal generated by an accelerometer of system 10. Incontrast, some prior art low definition haptic effect systems only allowfor variation of magnitude over time, while the frequency is keptconstant.

In one embodiment, the following equation that is known for the use ofgenerating audio signals can also be used for generating HD hapticeffect signals from HD primitives:a _(fm) =a _(c) sin(2πf _(c) t+a _(m) sin(2πf _(m) t)t)  Equation 1Where four input HD haptic effect parameters, amplitudes “a_(c)” and“a_(m)” (carrier and modulation amplitude, respectively) and frequencies“fc” and “fm” (carrier and modulation frequency, respectively) are inputto module 22 of FIG. 1, and in response the HD haptic effect motorsignals “a_(fm)” are generated and applied to HD actuator 18. However,Equation 1 is ideally used for audio signals with frequency values abovethe hundreds of kilohertz range. When used for haptic effects thatgenerally have sub-kilohertz signals, the generated HD haptic effectsare not as realistic as typically desired.

Therefore, embodiments vary Equation 1 for HD haptic effects. In oneembodiment, the input frequency parameter is varied as a function of anexternal signal, “S_(val)”, such as a finger position on touchscreen 11,an acceleration of system 10 as measured by an on-board accelerometer,surface pressure, etc. In this embodiment, the frequency varied outputsignal “a_(fv)” is:a _(fv) =a _(c) sin(2πf _(var) t)  Equation 2Where f_(var)=f_(c)+S_(val) and S_(val)∈[−f_(min), +f_(max)] and S_(val)is a sensor value at any given time which is mapped to a range of valuesthat will modify the frequency carrier of the signal.

As shown in Equation 2, the frequency content of the signal can be seenby looking at the value of f_(var), which will vary betweenf_(c)−f_(min) and f_(c)+f_(max). For example, if the frequency needs tovary as a function of acceleration, and the acceleration values arebetween −10 m/sec² and 10 m/sec² and the values of S_(val)Å[−50, 60] andf_(c)=150 Hz, then a function can be used to map acceleration values Accto frequency values f_(var), and the function can be of any kind. FIG. 3is a graph of Frequency v. Acceleration that illustrates a linearmapping in accordance with one embodiment. Other mappings can be used inadditional embodiments.

In another embodiment, f_(var) in Equation 2 is expressed using ascaling factor as oppose to a range of values, and therefore f_(var) isexpressed as follows:f _(var) =f _(c) *S _(val) where S _(val)∈[0,S _(max)]  Equation 3in which the frequency will vary as a function of the scalar S_(val)which has been normalized between 0 and S_(max). If for example theacceleration is scaled to values between 0 and 2.1, and f_(c)=100 Hz,then when the scaled acceleration is at 0, f_(var)=100 Hz, and when thescaled acceleration is at 2.1, f_(var)=210 Hz. In one embodiment thescaled acceleration is assumed to be mapped between −10 and 10 to valuesbetween 0 and 2.1 in a linear fashion, but in other embodiments thescaling can be done using linear, quadratic exponential or other kindsof mappings.

In another embodiment, the magnitude a_(c) parameter of Equation 2 canbe varied as a function of some external signal, and those variationscan be done in a similar fashion as it was described for f_(var).

Phase Modulation

One embodiment generates the HD haptic signal using phase modulation,which can be considered an indirect generation of an FM signal. In thisembodiment, Equation 1 above is modified to the following:

$\begin{matrix}{a_{pm} = {a_{c}\mspace{14mu}{\sin\left( {{2\pi\; f_{c}t} + {\frac{a_{m}}{f_{m}}{\sin\left( {2\pi\; f_{m}t} \right)}}} \right)}}} & {{Equation}\mspace{14mu} 4}\end{matrix}$Where the second term is the phase of the signal and depends only on thesine value and not on the product of the sine value and the time as inEquation 1. A haptic effect generated with Equation 4 only varies as afunction of time. However, as disclosed above there is a need to have avariation as a function of some other external variable, like a sensorvalue, or human gesture captured by the sensor. Therefore, in oneembodiment the parameters of Equation 4 are modified in a similarfashion as the parameters of Equation 2 above. Modified embodimentsinclude the following:

-   -   Vary f_(c) as a function of the sensor:

$a_{pm} = {a_{c}\mspace{14mu}{\sin\left( {{2{\pi\left( {f_{c}*S_{val}} \right)}t} + {\frac{a_{m}}{f_{m}}{\sin\left( {2\pi\; f_{m}t} \right)}}} \right)}}$

-   -   Vary a_(m) as a function of the sensor:

$a_{pm} = {a_{c}\mspace{14mu}{\sin\left( {{2\pi\; f_{c}t} + {\frac{a_{m}*S_{val}}{f_{m}}{\sin\left( {2\pi\; f_{m}t} \right)}}} \right)}}$

-   -   Vary f_(m) as a function of the sensor:

$a_{pm} = {a_{c}\mspace{14mu}{\sin\left( {{2\pi\; f_{c}t} + {\frac{a_{m}}{f_{m}}{\sin\left( {2\pi\; f_{m}*S_{val}t} \right)}}} \right)}}$

-   -   Vary a_(c) as a function of the sensor:

$a_{pm} = {a_{c}*S_{val}\mspace{14mu}{\sin\left( {{2\pi\; f_{c}t} + {\frac{a_{m}}{f_{m}}{\sin\left( {2\pi\; f_{m}t} \right)}}} \right)}}$

Frequency Modulation

One embodiment uses FM by modifying the phase modulation of Equation 4by a one-time factor that multiplies the phase of the equation:a _(fm) =a _(c) sin(2πf _(c) t+a _(m) sin(2πf _(m) t)t)  Equation 5Equation 5 in general varies in the time domain (t) only. However theterms a_(c), f_(c), a_(m), and f_(m) can vary as a function of someexternal signal generated by a sensor (e.g. acceleration, magneticfield, pressure) as was disclosed above in conjunction with the phasemodulation embodiment.

FIG. 4 is a flow diagram of the functionality of HD haptic effectgeneration module 22 of FIG. 1 when generating HD haptic effect signalsfrom HD haptic effect primitives in accordance with one embodiment. Inone embodiment, the functionality of the flow diagram of FIG. 4, andFIG. 6 below, is implemented by software stored in memory or othercomputer readable or tangible medium, and executed by a processor. Inother embodiments, the functionality may be performed by hardware (e.g.,through the use of an application specific integrated circuit (“ASIC”),a programmable gate array (“PGA”), a field programmable gate array(“FPGA”), etc.), or any combination of hardware and software.

At 402, the HD haptic effect primitive is received. The HD effectprimitive is expressed in the form of high level input parameters.

At 404, input from a sensor such as an accelerometer or from any type ofexternal signal is received.

At 406, the HD haptic effect signal is generated from the HD hapticeffect primitive received at 402. The generation of the signal includesvarying a frequency of the signal based on the sensor input at 404. Thefrequency can be varied as disclosed above, including frequencyvariation, frequency modulation, scaling, and phase modulation.

At 408, the generated HD haptic effect signal is applied to the HDactuator 18, which generates a vibratory haptic effect on system 10. Thegenerated output haptic effect signal includes a plurality of outputparameters such as frequency.

PhISEM Based HD Haptic Effects Generation

One embodiment generates HD haptic effect signals from HD hapticprimitives by modifying the content of HD haptic effect signal based ona corresponding input sensor signal, such as an acceleration signalgenerated by an accelerometer of system 10, using a stochastic process.The modification is to the magnitude of the signal, but the frequency orother parameters can also be modified. The stochastic process used bythis embodiment is Physically Inspired Stochastic Event Modeling(“PhISEM”). PhISEM is a known algorithm, disclosed in P. Cook et al.,“Using DSP-Based Parametric Physical Synthesis Models to Study HumanSound Perception” (2003) (“Cook”) and has been used in digital signalprocessing to synthesize sounds of some percussion instruments thatcreate sounds naturally based on random particle systems.

FIG. 5 is a block diagram representation of the PhISEM algorithm asdisclosed in Cook. The PhISEM algorithm was derived from a dynamicsystem simulation of different particles colliding with each other witheach particle having an energy and damping. The PhISEM algorithmcaptures the behavior of the dynamic model to a statistical model withthe parameters in the model related directly to the parameters used inthe simulation of the dynamic model.

Embodiments of the present invention modify and adapt the PhISEMalgorithm for use with generating HD haptic effect signals from HDhaptic effect primitives. Embodiments synthesize the haptic signal andthe range of frequencies used in the resonant filters. For example, thesynthesis of a sound requires values above 1 KHz, at least forpercussion type instruments such as a maraca. In one embodiment, for ahaptic implementation the filters have resonances around 200 Hz or less.In other embodiments, this number can be up to 4000 Hz. The number offilters used in embodiments could be as low as one, but more can beused.

In one embodiment, the following pseudo-code is implemented by HD hapticeffect generation module 22 to generate an HD haptic effect signal froman HD haptic effect primitive:

#define VIBE_DECAY 0.95 #define SYSTEM_DECAY 0.999 shakeEnergy =getEnergy( ); // energy envelope shakeEnergy *= SYSTEM_DECAY; //exponential system decay // EACH SAMPLE: if (random(1024) < num_beans) {// If collision vibeLevel += gain * shakeEnergy // add energy to hapticeffect } input = vibeLevel * noise_tick( ); // Vibe is random vibeLevel*= VIBE_DECAY; // Exponential sound decay filterOut =filterSignal(filterCoef, input); // Filter signal to produce finaloutput

In the implementation above:

-   -   “getEnergy( )” retrieves the value of the energy into the system        from an external sensor or other signal. The energy can be a        sensor signal such as an accelerometer, a virtual sensor, a        periodic signal, etc.    -   The “SYSTEM_DECAY” parameter can take values between 0 and 1 and        is the “system energy decay” parameter of FIG. 5.    -   “num_beans” is the number of elements colliding in the        percussion instrument. Changing this parameter changes the        synthesis of the haptic effect. In an alternative embodiment,        this parameter can change as a function of an external signal        (sensor, data extraction/processing, periodic signal, etc.)    -   “gain” is a pre-computed value that levels up the overall        magnitude of the signal.    -   “noise_tick( )” is a function that generates the random nature        of the vibration.    -   The “VIBE DECAY” parameter can take values between 0 and 1 and        is the “control envelope” parameter of FIG. 5.    -   “filterSignal( )” filters the random signal using the filter(s)        specified by “filterCoef”. In one embodiment, resonant filters        with resonant frequencies between 10 Hz and 4000 Hz can used,        and only one filter can be used.

FIG. 6 is a flow diagram of the functionality of HD haptic effectgeneration module 22 of FIG. 1 when generating HD haptic effect signalsfrom HD haptic effect primitives in accordance with one embodiment.

At 602, the HD haptic effect primitive is received. The HD effectprimitive is expressed in the form of high level input parameters.

At 604, input from a sensor such as an accelerometer or from any type ofexternal signal is received.

At 606, the HD haptic effect signal is generated from the HD hapticeffect primitive received at 602. The generation of the signal includesvarying a magnitude of the signal based on the sensor input at 604 inaccordance with PhISEM algorithm.

At 608, the generated HD haptic effect signal is applied to the HDactuator 18, which generates a vibratory haptic effect on system 10. Thegenerated HD haptic effect signal includes a plurality of outputparameters

As disclosed, HD haptic effects are generated by receiving an HD hapticeffect primitive and using an external sensor signal to vary a parameterof a generated HD haptic effect output signal. The varied parameter maybe the frequency in one embodiment, or the magnitude using the PhISEMalgorithm in another embodiment.

In one embodiment, in addition to using the frequency based algorithmsor the PhISEM algorithm to generate HD haptic effects, the same generalalgorithms, are adapted/modified to generate audio as described above.System 10 can then generate sounds and HD haptic effects insubstantially exact synchronization. In this embodiment, to generatesound and haptics, an external input signal, such as finger velocity oracceleration can be fed into the respective algorithms and consistentsound and haptics will be generated.

Several embodiments are specifically illustrated and/or describedherein. However, it will be appreciated that modifications andvariations of the disclosed embodiments are covered by the aboveteachings and within the purview of the appended claims withoutdeparting from the spirit and intended scope of the invention.

What is claimed is:
 1. A method of generating haptic effects on adevice, the method comprising: receiving a haptic effect primitivecomprising a plurality of predefined haptic parameters that define ahaptic effect; receiving an input, from a sensor, that varies over atime duration; generating a dynamic haptic effect signal, based on thehaptic effect primitive and the input, including: generating, based onthe plurality of predefined haptic parameters, a plurality of outputhaptic parameters including an amplitude of the dynamic haptic effectsignal, and varying the amplitude of the dynamic haptic effect signalcontinuously over the time duration using phase modulation, theamplitude of the dynamic haptic effect signal being a function of atleast a carrier signal amplitude (a_(c)), a modulation signal amplitude(a_(m)), a carrier signal frequency (f_(c)) and a modulation signalfrequency (f_(m)); and applying the dynamic haptic effect signal to anactuator to generate the haptic effect.
 2. The method of claim 1,wherein the plurality of predefined haptic parameters include thecarrier signal amplitude (a_(c)), the modulation signal amplitude(a_(m)), the carrier signal frequency (f_(c)) and the modulation signalfrequency (f_(m)).
 3. The method of claim 1, wherein the sensorcomprises an accelerometer and the input corresponds to a movement ofthe device.
 4. The method of claim 1, wherein the device comprises atouchscreen and the input is based on a position of an object on thetouchscreen or a pressure of the object on the touchscreen.
 5. Themethod of claim 1, wherein the amplitude of the dynamic haptic effectsignal (a_(pm)) comprises:$a_{pm} = {a_{c}{{\sin\left( {{2\;\pi\; f_{c}t} + {\frac{a_{m}}{f_{m}}{\sin\left( {2\;\pi\; f_{m}t} \right)}}} \right)}.}}$6. The method of claim 1, wherein the amplitude (a_(pm)) of the dynamichaptic effect signal is a function of the input (S_(val)) and comprisesone of:${a_{pm} = {a_{c}{\sin\left( {{2\;\pi\;\left( {f_{c}*S_{val}} \right)t} + {\frac{a_{m}}{f_{m}}{\sin\left( {2\;\pi\; f_{m}t} \right)}}} \right)}}},{a_{pm} = {a_{c}{\sin\left( {{2\;\pi\; f_{c}t} + {\frac{a_{m}*S_{val}}{f_{m}}{\sin\left( {2\;\pi\; f_{m}t} \right)}}} \right)}}},{a_{pm} = {a_{c}\sin\left( {{2\;\pi\; f_{c}t} + {\frac{a_{m}}{f_{m}}{\sin\left( {2\;\pi\; f_{m}*S_{val}t} \right)}}} \right)}},{or}$$a_{pm} = {a_{c}*S_{val}{{\sin\left( {{2\;\pi\; f_{c}t} + {\frac{a_{m}}{f_{m}}{\sin\left( {2\;\pi\; f_{m}t} \right)}}} \right)}.}}$7. The method of claim 1, wherein the amplitude of the dynamic hapticeffect signal is varied using a Physically Inspired Stochastic EventModeling algorithm.
 8. A haptically enabled system comprising: anactuator, a sensor; and a processor, coupled to the actuator and thesensor, configured to: receive a haptic effect primitive comprising aplurality of predefined haptic parameters that define a haptic effect,receive an input, from the sensor, that varies over a time duration;generate a dynamic haptic effect signal, based on the haptic effectprimitive and the input, including: generate, based on the plurality ofpredefined haptic parameters, a plurality of output haptic parametersincluding an amplitude of the dynamic haptic effect signal, and vary theamplitude of the dynamic haptic effect signal continuously over the timeduration using phase modulation, the amplitude of the dynamic hapticeffect signal being a function of at least a carrier signal amplitude(a_(c)), a modulation signal amplitude (a_(m)), a carrier signalfrequency (f_(c)) and a modulation signal frequency (f_(m)), and applythe dynamic haptic effect signal to the actuator to generate the hapticeffect.
 9. The system of claim 8, wherein the plurality of predefinedhaptic parameters include the carrier signal amplitude (a_(c)), themodulation signal amplitude (a_(m)), the carrier signal (f_(c)) and themodulation signal frequency (f_(m)).
 10. The system of claim 8, whereinthe sensor comprises an accelerometer and the input corresponds to amovement of the system.
 11. The system of claim 8, further comprising atouchscreen coupled to the processor, wherein the input is based on aposition of an object on the touchscreen or a pressure of the object onthe touchscreen.
 12. The system of claim 8, wherein the amplitude(a_(pm)) of the dynamic haptic effect signal comprises:$a_{pm} = {a_{c}{{\sin\left( {{2\;\pi\; f_{c}t} + {\frac{a_{m}}{f_{m}}{\sin\left( {2\;\pi\; f_{m}t} \right)}}} \right)}.}}$13. The system of claim 8, wherein the amplitude (a_(pm)) of the dynamichaptic effect signal is a function of the input (S_(val)) and comprisesone of:${a_{pm} = {a_{c}{\sin\left( {{2\;\pi\;\left( {f_{c}*S_{val}} \right)t} + {\frac{a_{m}}{f_{m}}{\sin\left( {2\;\pi\; f_{m}t} \right)}}} \right)}}},{a_{pm} = {a_{c}{\sin\left( {{2\;\pi\; f_{c}t} + {\frac{a_{m}*S_{val}}{f_{m}}{\sin\left( {2\;\pi\; f_{m}t} \right)}}} \right)}}},{a_{pm} = {a_{c}\sin\left( {{2\;\pi\; f_{c}t} + {\frac{a_{m}}{f_{m}}{\sin\left( {2\;\pi\; f_{m}*S_{val}t} \right)}}} \right)}},{or}$$a_{pm} = {a_{c}*S_{val}{{\sin\left( {{2\;\pi\; f_{c}t} + {\frac{a_{m}}{f_{m}}{\sin\left( {2\;\pi\; f_{m}t} \right)}}} \right)}.}}$14. The system of claim 8, wherein the amplitude of the dynamic hapticeffect signal is varied using a Physically Inspired Stochastic EventModeling algorithm.
 15. The system of claim 8, wherein the actuatorcomprises one of a piezo actuator, an electroactive polymer actuator, oran electro-static actuator.
 16. A non-transitory computer-readablemedium having instructions stored thereon that, when executed by aprocessor, cause the processor to generate haptic effects on a device,the instructions comprising: receiving a haptic effect primitivecomprising a plurality of predefined haptic parameters that define ahaptic effect; receiving an input, from a sensor, that varies over atime duration; generating a dynamic haptic effect signal, based on thehaptic effect primitive and the input, including: generating, based onthe plurality of predefined haptic parameters, a plurality of outputhaptic parameters including an amplitude of the dynamic haptic effectsignal, and varying the amplitude of the dynamic haptic effect signalcontinuously over the time duration using phase modulation, theamplitude of the dynamic haptic effect signal being a function of atleast a carrier signal amplitude (a_(c)), a modulation signal amplitude(a_(m)), a carrier signal frequency (f_(c)) and a modulation signalfrequency (f_(m)); and applying the dynamic haptic effect signal to anactuator to generate the haptic effect.
 17. The non-transitorycomputer-readable medium of claim 16, wherein the plurality ofpredefined haptic parameters include the carrier signal amplitude(a_(c)), the modulation signal amplitude (a_(m)), the carrier signalfrequency (f_(c)) and the modulation signal frequency (f_(m)).
 18. Thenon-transitory computer-readable medium of claim 16, wherein the devicecomprises an accelerometer and a touchscreen, and the input correspondsto a movement of the device based on the accelerometer or the input isbased on a position of an object on the touchscreen or a pressure of theobject on the touchscreen.
 19. The non-transitory computer-readablemedium of claim 16, wherein the amplitude (a_(pm)) of the dynamic hapticeffect signal comprises:$a_{pm} = {a_{c}{{\sin\left( {{2\;\pi\; f_{c}t} + {\frac{a_{m}}{f_{m}}{\sin\left( {2\;\pi\; f_{m}t} \right)}}} \right)}.}}$20. The non-transitory computer-readable medium of claim 16, wherein theamplitude (a_(pm)) of the dynamic haptic effect signal is a function ofthe input (S_(val)) and comprises one of:${a_{pm} = {a_{c}{\sin\left( {{2\;\pi\;\left( {f_{c}*S_{val}} \right)t} + {\frac{a_{m}}{f_{m}}{\sin\left( {2\;\pi\; f_{m}t} \right)}}} \right)}}},{a_{pm} = {a_{c}{\sin\left( {{2\;\pi\; f_{c}t} + {\frac{a_{m}*S_{val}}{f_{m}}{\sin\left( {2\;\pi\; f_{m}t} \right)}}} \right)}}},{a_{pm} = {a_{c}\sin\left( {{2\;\pi\; f_{c}t} + {\frac{a_{m}}{f_{m}}{\sin\left( {2\;\pi\; f_{m}*S_{val}t} \right)}}} \right)}},{or}$$a_{pm} = {a_{c}*S_{val}{{\sin\left( {{2\;\pi\; f_{c}t} + {\frac{a_{m}}{f_{m}}{\sin\left( {2\;\pi\; f_{m}t} \right)}}} \right)}.}}$